// Go 源文件中第一段有效代码必须是 package <包名> 的形式，如 package hello。
package main

import (
	"fmt"

	"rsc.io/quote/v4"
)

func main() {
	fmt.Println("Hello, World!")
	fmt.Println(quote.Glass())
}

// 命令源文件：
// 		源文件被声明属于 main 包，并且该文件中包含 main 函数，则它就是命令源码文件。
// 		命令源文件属于程序的入口，可以通过Go语言的go run 命令运行或者通过go build 命令生成可执行文件
// 库源文件：
// 		库源文件则是指存在于某个包中的普通源文件，并且库源文件中不包含 main 函数

// Go语言的包与文件夹是一一对应的，它具有以下几点特性：
// 一个目录下的同级文件属于同一个包。
// 包名可以与其目录名不同。
// main 包是Go语言程序的入口包，一个Go语言程序必须有且仅有一个 main 包。

// go build 命令可以将Go语言程序代码编译成二进制的可执行文件，但是需要我们手动运行该二进制文件；
// go run 命令则更加方便，它会在编译后直接运行Go语言程序，编译过程中会产生一个临时文件，但不会生成可执行文件，这个特点很适合用来调试程序。
